package cn.tedu.inter2;

public class TestUserInter {
    public static void main(String[] args) {
        /*本类用于进一步测试接口的使用*/
        Inter2 i=new Inter2Impl();
        //接口的变量是静态的，因为可以通过类名直接调用
        System.out.println(Inter2.age);
        //Inter2.age=30;
    }


}
interface Inter2 {
    /*1.接口中有构造方法吗? 不可以*/
    //public Inter2() {    }
    /*2.接口可以有成员变量吗？没有
     *实际上是静态常量，实际的写法public static final int age =10；
     * 在接口中可以省略不写，接口中都是静态常量
     * */
    //接口中的变量实际上都是常量，因为必须初始化（必须赋值）
    int age=10;
    /*接口里可以有默认方法，而且全部是抽象方法
    方法定义可以简写，默认自动拼接public abstract
     */
    public abstract void eat();
    void eat2();
}

/*如果一个类没有明确指定父类，那么他的父类就是Object顶级父类，默认此现象存在*/
//class Inter2Impl extends Object implements Inter2 {}
class Inter2Impl implements Inter2{
    public Inter2Impl(){
        super();//调用的是父类Object的无参构造
        System.out.println("我是实现类Inter2Impl的构造方法");
    }
    //如果普通子类实现了接口，需要实现接口中的所有抽象方法
    @Override
    public void eat() {

    }

    @Override
    public void eat2() {

    }
}

